import math


def poisson_probability(k, lamda):
    """
    计算泊松分布的概率
    :param k: 事件发生的次数
    :param lamda: 事件的平均发生率
    :return: 事件发生k次的概率
    """
    # 计算泊松分布的概率质量函数（PMF）
    probability = (lamda ** k * math.exp(-lamda)) / math.factorial(k)
    return probability


# 获取用户输入
while True:
    keyboard_input = input("请输入操作（continue or stop）：")
    if keyboard_input == "stop":
        print("程序已退出")
        break
    else:
        try:
            k = int(input("请输入事件发生的次数k: "))
            lamda = float(input("请输入事件的平均发生率λ: "))

    # 确保k是非负整数
            if k < 0:
                raise ValueError("k必须是非负整数")
        # 计算并输出结果
            result = poisson_probability(k, lamda)
            print(f"在λ={lamda}时，事件发生{k}次的概率是: {result:.6f}")
        except ValueError as e:
            print(f"输入错误: {e}")
            continue